import { uuid } from 'share/utils'
import Rte from '..'

export default class RteConfig {
  /** 整个编辑器的 id attribute */
  readonly id = uuid(6, 'rte')

  /** 当前的文章内容为空 */
  public isEmpty: boolean = true

  /** 当前处于折叠输入状态 */
  public isComposing: boolean = false

  /** 文章内容为空时的提示语 */
  public placeholder: string = ''

  /** 编辑器宽 */
  public width: string = '100%'

  /** 编辑器高 */
  public height: string = '600px'

  /** 菜单栏分割线的单侧宽度 */
  public menuDelimiter = '5px'

  /** 富文本是否可编辑 */
  public contenteditable: boolean = true

  /** 选区文字颜色 */
  public selectTextColor: string = '#ffffff'

  /** 选区背景色 */
  public selectBackground: string = 'rgb(51 144 255 / 80%)'

  /** 块儿原素背景色遮罩的层级 */
  public selectZIndex: number = 100

  /** 空行背景色的宽度 */
  public selectEmptyWidth: string = '3px'

  /** 块儿元素的标识 */
  public blockLabel: string = 'label'

  public onchange: null | onEvent = null
}

export type onEvent = (this: Rte, editor: Rte) => void

export type RteUserConfig = Partial<Omit<RteConfig, 'id' | 'isEmpty'>>
